The present invention generally relates to network communications and, more specifically, to a method and system for facilitating communications between devices where a network access translation device is used.
Fully functional telephony relies on the ability for any party to call any other party. NAT (Network Access Translation) devices represent a significant barrier to SIP (Session Initiation Protocol) calls. This is because NAT devices prevent SIP clients outside the NAT's domain (NAT-exterior) from calling or reaching a client located within the NAT's domain (NAT-interior). For clarification, a NAT device can be viewed as a dividing point between two networks. Devices behind the NAT device are protected from the devices installed on the network beyond, or outside, the NAT device. Devices connected behind the NAT device are on the interior network, hence they are NAT-interior devices. Those devices not connected behind the NAT device are on the exterior network, hence they are NAT-exterior devices.
By its nature, NAT devices block inbound communication streams, unless a NAT-interior client initiates the communication session. With a NAT device installed, it is practically impossible for a NAT-exterior device to originate a call to a NAT-interior device.
There are several methods presently posed by the industry in response to the foregoing issue including, for example, virtual private networks, STUN servers, SIP-aware NAT devices and proprietary client software/server. All of these solutions, though functional, are complex and require additional, dedicated hardware and/or proprietary software. The proprietary nature of these arrangements, however, hinder their usefulness, because clients are unable to communicate with other servers that do not employ their proprietary protocols. It may be possible for an enterprise (company) to install these types of solutions for their employees. However, these solutions hardly address the goal of ubiquitous communications via SIP.
Hence, it would be desirable to provide a system that is capable of resolving the foregoing problem, as well as others, including facilitating improved communications between devices where a NAT device is involved.